#ifndef CLIENT_H
#define CLIENT_H
#include <common_head.h>
#define BUF_SIZE 1000

//数据传输格式
typedef struct data_style{
    int len;
    char buf[1000];
}data_s;

/**
 * @brief 初始化socket连接
 * 
 * @param sockfd 指向socket对象文件描述符的指针
 * @param port 端口
 * @param ip ip地址
 * @return int 
 */
int init_socket(int *sockfd,const char *port,const char *ip);

/**
 * @brief 打印进度条
 * 
 * @param total_received 当前读取的字节数 
 * @param file_size 总文件大小
 */
void print_progress_bar(size_t total_received,size_t file_size);

/**
 * @brief 给客户端发送消息
 * 
 * @param sockfd 客户端对应文件描述符
 * @param file_name 文件名
 * @param method 传输方法
 * @return int 
 */
data_s send_to_server_msg(int sockfd, char *file_name, char *method);

/**
 * @brief 文件上传功能
 * 
 * @param file_name 文件名
 * @return int 
 */
int upload_file(int sockfd,char *file_name,char *method);

/**
 * @brief 文件下载功能
 * 
 * @param file_name 文件名
 * @return int 
 */
int download_file(int sockfd,char *file_name,char *method);


#endif